Modern microprocessors consume dynamic power by performing computations and by moving data. The movement of data involves driving on-chip interconnects, which are typically relatively long wires combined with repeaters to linearize wire delay. Interconnect power consumption is also due to the capacitive effects of voltage transitions on neighboring wires. As processors scale upward in size, interconnect lengths trend upward as well.
Conventional techniques for transmitting data include parallel, serial and deterministic. In conventional parallel techniques, a given digital number is transmitted as a group of bits on plural wires in parallel. An N-bit number will use N physical wires, one wire for each bit. If all the wires hold zero values prior to transmission, the transmission of the N-bit number will require some number of voltage toggles, i.e., from low to high. These toggles, otherwise known as bit flips, consume power. In conventional serial techniques, the N-bit number is transmitted on a single wire, but one bit at a time in sequence. Serial is typically slower than parallel and still requires multiple toggles. In a conventional deterministic transmission technique known as Pulse Position Modulation (PPM) the power consumption for data movement is independent of the data value being transmitted. It purports to achieve deterministic per-wire toggling power because the amount of toggling is independent of the actual data values being transmitted. In one conventional variant, a digital number is divided into two N/2-bit chunks, and each chunk is sent by toggling one of two data wires. A reset wire is shared by all data wires to specify the start of the data transmission. Both the transmitter and the receiver of the data require clocking to enable synchronization.